package store.lunangangster.engine.impl.interceptor;

import store.lunangangster.engine.impl.cmd.Command;

public interface CommandInterceptor {

  <T> T execute(Command<T> command);

  CommandInterceptor next();

  void setNext(CommandInterceptor nextInterceptor);

  default boolean hasNext() {
    return next() != null;
  }

}
